package com.quan.mall.commons.vo;


import com.quan.mall.entity.PmsSpu;
import com.quan.mall.entity.PmsSpuAttrValue;
import com.quan.mall.entity.PmsSpuImgs;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.math.BigDecimal;
import java.util.List;

/**
 * 商品-SPU基本信息
 *
 * @author yhaoquan
 * @email yhaoquan@163.com
 * @date 2021-02-09 11:44:02
 */
@Data
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class PmsSpuVo extends PmsSpu {

    /**
     * 代理商ID，添加SKU商品时，初始化代理商的库存
     */
    private List<Long> agentIds;

    /**
     * 品牌名称
     */
    private String brandName;

    /**
     * 分类名称
     */
    private String categoryName;

    /**
     * 分类父路径ID
     */
    private Long[] categoryPath;

    /**
     * 商品轮播图
     */
    private List<PmsSpuImgs> imgs;


    /**
     * 商品详情描述
     */
    private String decript;

    /**
     * 视频介绍
     */
    private String video;

    /**
     * 客户端提交的基本规格属性
     */
    private List<BaseAttrsVo> baseAttrs;

    /**
     * 服务器端返回的基本规格属性
     */
    private List<PmsSpuAttrValue> spuAttrValues;

    /**
     * SKU数据集
     */
    private List<PmsSkuVo> skus;

    /**
     * 价格
     */
    private BigDecimal price;

    /**
     * 多规格下的最低价
     */
    private BigDecimal minPrice;

    /**
     * 多规格下的最高价
     */
    private BigDecimal maxPrice;

    /**
     * 总库存
     */
    private int totalStock;

    /**
     * 当前总库存
     */
    private int curTotalStock;

    /**
     * 总销量
     */
    private int totalSaleNum;

    /**
     * 查询库存预警商品
     */
    private boolean queryStockWarn = false;

    /**
     *  售卖中的商品数量
     */
    private long saleCount = 0;

    /**
     * 仓库中的商品数量
     */
    private long stockCount = 0;

    /**
     * 库存预警的商品数量
     */
    private long stockWarnCount = 0;

    /**
     *最小价格
     */
    private BigDecimal priceMin;

    /**
     * 最大价格
     */
    private BigDecimal priceMax;
}
